/*
 * need a mW_mouse_destroy function that gets called
 *   frees mW_mouse_clicks and mW_mouse_img_mouse_pointer
 */

#ifndef mW_mouse_include
#define mW_mouse_include



#include <allegro.h>
#include <stdio.h>
#include <stdlib.h>
#include "list.h"



typedef struct _mW_mouse_click
{
	int x;
	int y;
	int buttons;
} mW_mouse_click;

mW_list * mW_mouse_clicks;


BITMAP * mW_mouse_img_mouse_pointer;



volatile int mW_mouse_x, mW_mouse_y;
volatile int mW_mouse_buttons;

int mW_mouse_add_click(int x, int y, int buttons);
int mW_mouse_delete_last_click();
int mW_mouse_delete_all_clicks();
int mW_mouse_draw_pointer (BITMAP * surface);
int mW_mouse_init();
mW_mouse_click * mW_mouse_get_last_click();
mW_mouse_click * mW_mouse_get_next_click();
int mW_mouse_reset_iterator();
void mW_mouse_update();

#endif
